import myAxios from "../../plugins/myAxios";
import { Toast } from "vant";
// 主页推荐查询用户列表
export const recommendPageQueryUser = async (pageNum, pageSize) => { 
    const [userListData, total] = await myAxios
        .get("/user/recommend", {
            params: {
                pageNum: pageNum,
                pageSize: pageSize,
            },
        })
        .then((res) => {
            if (res.data.code == 1) {
                console.log("/user/recommend success", res.data.data);
                // Toast.success("推荐成功");
                if (res.data.data.records) {
                    res.data.data.records.forEach((user) => {
                        if (user.tags) {
                            // 将标签字符串转化为数组
                            user.tags = eval(user.tags);
                        }
                    });
                }
                return [res.data.data.records, res.data.data.total];
            } else {
                console.error("/user/recommend error", res.data.message);
                Toast.fail("推荐失败");
                return [null, null];
            }
        });
    // 返回查询到的用户列表 和 总记录条数
    return [userListData, total];
};

// 主页匹配查询用户列表
export const matchdPageQueryUser = async (pageNum, pageSize) => { 
    const [userListData, total] = await myAxios
        .get("/user/match", {
            params: {
                pageNum: pageNum,
                pageSize: pageSize,
            },
        })
        .then((res) => {
            if (res.data.code == 1) {
                console.log("/user/match success", res.data.data);
                // Toast.success("匹配成功");
                if (res.data.data.records) {
                    res.data.data.records.forEach((user) => {
                        if (user.tags) {
                            // 将标签字符串转化为数组
                            user.tags = eval(user.tags);
                        }
                    });
                }
                return [res.data.data.records, res.data.data.total];
            } else {
                console.error("/user/match error", res.data.message);
                Toast.fail("匹配失败");
                return [null, null];
            }
        });
    // 返回查询到的用户列表 和 总记录条数
    return [userListData, total];
};

// 搜索结果页根据Tags查询用户列表
export const byTagsPageQueryUser = async (pageNum, pageSize, tags) => { 
    // 会等待请求处理完毕再往下执行
    if(typeof tags == 'string') {
        tags = [tags]
    }
    if(!tags) {
        tags = []
    }
    const [userListData, total] = await myAxios
        .get("/user/search/tags", {
            params: {
                pageNum: pageNum,
                pageSize: pageSize,
                tagList: tags.join(","),
            },
        })
        .then((res) => {
            if (res.data.code == 1) {
                console.log("/user/search/tags success", res.data.data);
                Toast.success("查询成功");
                if (res.data.data.records) {
                    res.data.data.records.forEach((user) => {
                        if (user.tags) {
                            // 将标签字符串转化为数组
                            user.tags = eval(user.tags);
                        }
                    });
                }
                return [res.data.data.records, res.data.data.total];
            } else {
                console.error("/user/search/tags error", res.data.message);
                Toast.fail("查询失败");
                return [null, null];
            }
        });
    // 返回查询到的用户列表 和 总记录条数
    return [userListData, total];
};


